'use strict'

var xiaoming={
    name:'小明',
    age:14,
    gender:true,
    height:1.65,
    grade:null,
    'middle-school': '\"W3C\" Middle School',
    skills: ['JavaScript', 'Java', 'Python', 'Lisp'],
    toJSON:function (){
        return {
            'Name':this.name,
            'Age':this.age
        };
    }
};

var b=JSON.stringify(xiaoming);
console.log(b);

//反序列化  JSON.parse()

var obj =JSON.parse('{"name":"小明","age":14}', function (key,value){
    if(key === 'name'){
        return value + '同学';
    }
    return value;
});

console.log(JSON.stringify(obj));

//JSON.stringify是JSON转换成字符串。


//把函数属性值转换为大写

// function convert(key,value){
//     if(typeof value === 'string' ){
//         return value.toUpperCase();
//     }
//     return value;
// }

// //typeof 为检测一个变量的类型

// var a= JSON.stringify(xiaoming,convert,' ');

// console.log(a);
 


// var s=JSON.stringify(xiaoming,['name','age'],' ');
// console.log(s);


//面向对象编程

// JavaScript 则是通过 原型(prototype)从而实现面向对象编程

var Student={
    name:'熊大',
    height:1.8,
    age: function (){
        console.log(this.name + 'is nings ...');
    }
};

var xiaoming={
    name:'校花'
};

 xiaoming._proto_ =Student;

console.log(xiaoming);




